# 对数字列表中数字的求和，求平均值，求最大值，求最小值
# 设计思路
# 求和：循环遍历列表的中的数字，使用累加：sum_list+=num
# 求平均值：总和除以列表的长度
# 求最大值：遍历循环列表中每个数，大于最大值的初始值就赋值最大值
# 求最小值：遍历循环列表中每个数，小于最小值的初始值就赋值最小值

def num_info(num_list: list):
    # 定义列表的初始值
    sum_list = 0
    max_list = num_list[0]
    min_list = num_list[0]
    # 循环列表
    for num in num_list:
        # 列表值累加
        sum_list += num
        # 除以列表长度
        avg_list = sum_list / len(num_list)
        # 循环列表中每个数，大于最大值的初始值就赋值与最大值
        if num > max_list:
            max_list = num
        # 循环列表中每个数，大于最大值的初始值就赋值与最大值
        if num < min_list:
            min_list = num
    return sum_list, avg_list, max_list, min_list

# 输入任意数字求和，求平均值，求最大值，求最小值,直到输入bye结束，计算数字不考虑浮点数。
# 设计思路
  # while实现，当输入值不等于"bye"时循环继续
  # 将输入的数据累加到一个列表中，再对列表进行计算

def num_info_re():
    # 定义一个空列表存放输入的整数
    num_list=[]
    sum_list=0
    max_list=None
    min_list=None
    # 当以下条件为真执行循环语句
    while True:
        num = input("请输入一个整数：")
        # 当满足以下条件时退出循环
        if num == "bye":
            break
        else:
            # 判断如果是纯数字就添加到列表
            if num.isdigit():
                # 字符串转化成数字
                num=int(num)
                # 添加到列表
                num_list.append(num)
                print(num_list)
                # 赋值
                if max_list == None:
                    max_list = num_list[0]
                if min_list == None:
                    min_list = num_list[0]
                # 遍历列表
                for i in num_list:
                    sum_list+=i
                    avg_list=sum_list/len(num_list)
                    if max_list>i:
                        max_list=i
                    if min_list<i:
                        min_list=i
    return sum_list, avg_list, max_list, min_list

# num=num_info_re()
# print(num)
